package com.harry.hr.entity.system;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

/**
 * 用户角色
 * @author 杨洁(kaixuanpisces)
 *
 */
public class Role implements Serializable {

	/**
	 * 我也不知又啥用，但是不会出黄色感叹号了。
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 角色编号
	 */
	private int roleId;
	/**
	 * 角色名称
	 */
	private String roleName;
	/**
	 * 角色备注
	 */
	private String roleRemark;
	/**
	 * 角色状态
	 */
	private int roleStatus;
	/**
	 * 拥有该角色的用户
	 */
	private Set<User> users = new HashSet<User>();
	/**
	 * 有权限的菜单
	 */
	private Set<Menu> menus = new HashSet<Menu>();
	/**
	 * 基本构造函数
	 */
	public Role(){}
	/**
	 * 构造函数(角色编号)
	 * @param id 角色编号
	 */
	public Role(int roleId){
		this.roleId = roleId;
	}
	/**
	 * 构造函数(角色编号,角色名称，角色备注，角色状态)
	 * @param roleId 角色编号
	 * @param roleName 角色名称
	 * @param roleRemark 角色备注
	 * @param roleStatus 角色状态
	 */
	public Role(int roleId,String roleName,String roleRemark,int roleStatus){
		this.roleId=roleId;
		this.roleName=roleName;
		this.roleRemark=roleRemark;
		this.roleStatus=roleStatus;
	}
	
	/**
	 * 获取角色编号
	 * @return 角色编号
	 */
	public int getRoleId() {
		return roleId;
	}
	/**
	 * 设置角色编号
	 * @param roleId 角色编号
	 */
	public void setRoleId(int roleId) {
		this.roleId = roleId;
	}
	/**
	 * 获取角色名称
	 * @return 角色名称
	 */
	public String getRoleName() {
		return roleName;
	}
	/**
	 * 设置角色名称
	 * @param roleName 角色名称
	 */
	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}
	/**
	 * 获取角色备注
	 * @return 角色备注
	 */
	public String getRoleRemark() {
		return roleRemark;
	}
	/**
	 * 设置角色备注
	 * @param roleRemark 角色备注
	 */
	public void setRoleRemark(String roleRemark) {
		this.roleRemark = roleRemark;
	}
	/**
	 * 设置角色状态 (0、注销/1、正常)
	 * @return 角色状态
	 */
	public int getRoleStatus() {
		return roleStatus;
	}
	/**
	 * 设置角色状态 (0、注销/1、正常)
	 * @param roleStatus 角色状态
	 */
	public void setRoleStatus(int roleStatus) {
		this.roleStatus = roleStatus;
	}
	/**
	 * 获取有该角色的用户
	 * @return 用户
	 */
	public Set<User> getUsers() {
		return users;
	}
	/**
	 * 设置有该角色的用户
	 * @param users 用户
	 */
	public void setUsers(Set<User> users) {
		this.users = users;
	}
	/**
	 * 获取菜单列表
	 * @return 菜单列表
	 */
	public Set<Menu> getMenus() {
		return menus;
	}
	/**
	 * 设置菜单列表
	 * @param menus 菜单列表
	 */
	public void setMenus(Set<Menu> menus) {
		this.menus = menus;
	}

}
